我還是習慣用 IDE 做專案啊~~
感謝 web3.py 套件,讓 VSCode 可以撐這麼久,其實也是可以一路 VSCode 到底,只是比較麻煩(要裝很多東東),所以...
Web3 的部分還是先用 Remix 吧~
在 Day11 提到 VSCode 是 Web2 常用的本地 IDE。它支援模組化開發、測試框架、版本控制與 CI/CD,是正式專案的首選工具。
而在去中心化的世界裡,也有一個「瀏覽器版 VSCode」的存在:Remix。
Remix 是一個功能強大的開源 IDE(整合開發環境),專門為開發者設計來撰寫、編譯、部署和偵錯智慧合約(Smart Contract)。它最大的特色是完全基於瀏覽器,不需要安裝任何軟體,只需打開網頁,就能立即開始編寫去中心化應用程式(DApp)。
Remix 完全基於瀏覽器,不需要安裝 Node.js、Hardhat、Truffle 等工具。只要打開 remix.ethereum.org,就能立即開始開發。很適合在原型驗證階段使用。
除了適合在原型驗證階段使用,能直接連接 MetaMask 錢包,最主要的原因是會用到 Solidity 語言,而 Remix 就是專門為 Solidity 語言打造的 IDE,可以直接在瀏覽器中撰寫 .sol 檔案,相當的方便。
在 Web3 專案中,Remix 與 VSCode 的關係並不是互相競爭;相反的,是各自扮演不同角色
| 功能面向 | VSCode + Hardhat | Remix IDE(瀏覽器) | 
|---|---|---|
| 安裝與啟動 | 需要安裝 Node.js、Hardhat 等 | 免安裝,打開網頁即用 | 
| 編譯與部署 | 需撰寫部署腳本 | 內建編譯器與部署介面 | 
| 測試支援 | 支援 TDD、unit test | 僅支援手動測試 | 
| 錢包整合 | 需額外串接 Web3.js/Web3.py | 直接支援 MetaMask | 
| 適合階段 | 正式專案、多人協作 | 教學、原型、快速驗證 | 
| 優勢 | 可擴充、模組化、測試完整 | 快速部署、免設定、即時互動 | 
直接在瀏覽器輸入網址:https://remix.ethereum.org/

Remix 的介面分為幾個主要區塊:
檔案瀏覽器(File Explorer):位於左側,可以創建、管理或匯入 .sol 合約檔案。
編碼區(Editor):介面中央,也就是撰寫 Solidity 程式碼的地方。
功能面板(Side Panel):位於左側,包含:
RemixAI:位於右側。跟 Colab & VSCode 一樣,都有提供 AI 助理的功能。
在檔案瀏覽器中:
contracts 資料夾MyContract.sol
或是直接將這一段 solidity 程式碼貼到 MyContract.sol:
// SPDX-License-Identifier: MIT
// 指定程式碼的許可證類型為 MIT
pragma solidity ^0.8.20;
// 宣告一個名為 'Storage' 的智慧合約
contract Storage {
    // 狀態變數 (State Variable): 儲存在區塊鏈上的變數
    // 'public' 關鍵字會自動為此變數建立一個名為 'number' 的 getter(讀取)函式
    uint256 public number; 
    // 函式 (Function): 用來設定 'number' 的值
    // 'set' 函式接受一個名為 '_num' (無符號 256 位元整數) 的輸入參數
    function set(uint256 _num) public {
    
        // 'public' 允許任何人呼叫此函式 (這會花費 Gas,因為它修改了狀態)
        number = _num; // 將合約中的 'number' 狀態變數設定為輸入的 '_num' 值
    }
     // getter 已由 Solidity 自動生成(number()),無需手動寫 get()
}
貼上後, Remix 會很貼心的提醒「If you don't fully understand it, please don't run this code.」

針對這種情形,Remix 提供 AI(Ask RemixAI)的功能讓使用者諮詢

編譯成功後會看到綠色的Nike(勾勾)

Remix VM(快速測試)
Coding 的過程中,Remix 如果偵測到程式碼是用貼上的,就會出現警告視窗,底下有個「Ask RemixAI」的選項。看看 RemixAI 怎麼說 MyContract.sol


